pragma Singleton
import QtQuick 2.0
import Sailfish.Silica 1.0
import Nemo.Configuration 1.0


/**
*primaryColor：通常用于表示应用程序的主要颜色，可作为重要文本、按钮的背景色或者强调元素的颜色。比如在一个按钮组件中，它可能是按钮正常状态下的背景色。
*secondaryColor：辅助颜色，可用于次要文本、边框或者不太重要的元素。例如列表项的分隔线颜色。
*highlightColor：高亮颜色，一般用于选中状态的元素，如选中的列表项、按钮按下时的颜色。
*secondaryHighlightColor：次要高亮颜色，用于辅助高亮显示的元素，在一些有层次的选中状态下可能会用到。
*highlightBackgroundColor：高亮背景颜色，通常是高亮元素的背景，比如选中的列表项的背景色。
*highlightDimmerColor：高亮暗淡颜色，可能用于高亮元素的渐变效果或者阴影部分，以增强层次感。
*overlayBackgroundColor：覆盖层背景颜色，用于一些覆盖在其他元素之上的组件的背景，如弹出菜单的背景。
*backgroundGlowColor：背景发光颜色，可用于创建背景的发光效果，增加视觉吸引力。
*errorColor：错误颜色，用于表示错误状态的元素，如输入框输入错误时的边框颜色或者错误提示文本的颜色。
**/
QtObject {
    id: config

    //配置本地存储
    property string _configPath: "/apps/SailBook/settings"
    property ConfigurationGroup settings: ConfigurationGroup {
        id: settingsGroup  // 注意：此处 id 不要与属性名 settings 冲突
        path: _configPath

        ConfigurationValue {
            id: themeModeConf  // 子组件 id
            key: "/themeModeIndex"
            defaultValue: 0
        }

    }

    //jolla模式
    property QtObject jollaThemeObj: QtObject{
        id:jollaThemeMode

        //公共颜色
        property color transparent: "transparent"
        property color themeColor: "#0D8170"
        property color themeMerryCranesbill: "#ec5976"
        property color white: "white"

        //模式颜色
        property color windowBackColor: "transparent"
        property color primaryComponentColor: Theme.highlightDimmerColor
        property color secondaryComponentColor: Qt.lighter(primaryComponentColor, 1.4)
        property color primaryColor: Theme.primaryColor
        property color secondaryColor: Theme.secondaryColor
        property color thirdColor: primaryColor===Theme.lightPrimaryColor?Qt.lighter(secondaryColor, 1.8):Qt.darker(secondaryColor, 1.8)
        property color lineColor: "#4DA4A4A4"

    }

    //明亮模式
    property QtObject lightThemeObj: QtObject{
        id:lightThemeMode

        //公共颜色
        property color transparent: "transparent"
        property color themeColor: "#0D8170"
        property color themeMerryCranesbill: "#ec5976"
        property color white: "white"

        //模式颜色
        property color windowBackColor: "#F4F5F7"
        property color primaryComponentColor: "white"
        property color secondaryComponentColor: Qt.lighter(primaryComponentColor, 0.8)
        property color primaryColor: Theme.darkPrimaryColor
        property color secondaryColor: Theme.darkSecondaryColor
        property color thirdColor: Qt.darker(secondaryColor, 1.8)
        property color lineColor: "#4DA4A4A4"

    }

    //暗夜模式
    property QtObject nightThemeObj: QtObject{
        id:nightThemeMode

        //公共颜色
        property color transparent: "transparent"
        property color themeColor: "#0D8170"
        property color themeMerryCranesbill: "#ec5976"
        property color white: "white"

        //模式颜色
        property color windowBackColor: "#1D1D1D"
        property color primaryComponentColor: "#424242"
        property color secondaryComponentColor: Qt.lighter(primaryComponentColor, 1.4)
        property color primaryColor: Theme.lightPrimaryColor
        property color secondaryColor: Theme.lightSecondaryColor
        property color thirdColor: Qt.lighter(secondaryColor, 1.8)
        property color lineColor: "#4DA4A4A4"
    }

    //颜色模式，供外部访问
    property int themeModeIndex: themeModeConf.value
    property QtObject themeMode: themeModeIndex===0?lightThemeMode:themeModeIndex===1?nightThemeMode:jollaThemeMode

    //切换主题模式
    function changeThemeMode(index){
        themeModeConf.value = index
        console.log("传入索引"+index)
        console.log("当前主题模式："+themeModeConf.value)
        console.log("当前主题模式索引："+themeModeIndex)
    }
}
